pub fn dp_rec_mc(amount: u32) -> u32 {
    let mut list:Vec<u32> = Vec::new();
    list.push(100u32);
    list.push(50u32);
    list.push(30u32);
    list.push(20u32);
    list.push(10u32);
    list.push(5u32);
    list.push(2u32);
    list.push(1u32);
    //work
    let mut number = amount;
    let mut result:u32 = 0;
    for face in list.iter(){
        if number >= *face {
            result += number / *face;
            number = number % *face;
        }
    }
    return result;
}
